# -*- coding:utf-8 -*-
import Image
import StringIO 
import os
import django
from compsite.webutils.models import PicturesIni,InstituctionalDock
import sys

def picturesIniResize(filename):
    """
    Método que implementa o resize classe PicturesIni
    """
    imagem=Image.open(filename,'r')
    
    tamanho=(320,266)
    
    resizedImage=imagem.resize(tamanho,Image.ANTIALIAS)
    resizedImage.save(imagem.filename,'JPEG')  

    imagem=open(filename,'r')
    content=django.core.files.File(imagem)

    newPicture=PicturesIni()
    newPicture.imagem.save(filename,content)
    return newPicture

def picturesIniUploadHandler(img,alt):
    """
    Método que implementa o upload classe PicturesIni
    """
    filename=alt+'.jpg'
    destination=open(filename,'w')
    
    for chunk in img.chunks():
        destination.write(chunk)
    
    destination.close()
    newPicture=picturesIniResize(filename)
    return newPicture
    

def InstituctionalDockUploadHandler(img,alt):#salvar o alquivo utilizando o alt como nome????
    """
    Método que implementa o upload com resize da classe InstuctionalDock
    """

    imagefile=StringIO.StringIO(img.read())  
    imageImage=Image.open(imagefile)  
  
    (width,height)=(100,50)#o tamanho vai ser estático ou vai ser passado por parametro????
    
    # resize image
    resizedImage=imageImage.resize((width,height),Image.ANTIALIAS)  
  
    imagefile=StringIO.StringIO()  
    resizedImage.save(imagefile,'JPEG')  
    filename=alt+'.jpg'  
#    filename=hashlib.md5(imagefile.getvalue()).hexdigest()+'.jpg'  
          
    # #save to disk  
    imagefile=open(os.path.join('/tmp',filename),'w')  
    resizedImage.save(imagefile,'JPEG')  
    imagefile=open(os.path.join('/tmp',filename),'r')  
    content=django.core.files.File(imagefile)  
  
    instituctionalDock=InstituctionalDock()
    instituctionalDock.imagem.save(filename,content)
    return instituctionalDock
